package com.sino.operation.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

/**
 * TOD
 *
 * @author Administrator
 * date 2021/9/12 0012 23:35
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "柜面发起的公共信息")
public class PublicInfo {

    @JsonProperty("TRAN_CODE")
    @ApiModelProperty(name = "TRAN_CODE",value = "交易码",example = "710310")
    @NotNull(message = "交易码不能为空")
    private String tranCode;

    @JsonProperty("ORG_CODE")
    @ApiModelProperty(name = "ORG_CODE",value = "机构中心",example = "0101")
    @NotBlank(message = "交易机构号不能为空")
    private String orgCode;

    @JsonProperty("ORG_NAME")
    @ApiModelProperty(name = "ORG_NAME",value = "机构名字",example = "重庆三峡银行")
    @NotBlank(message = "交易机构名字不能为空")
    private String orgName;

    @JsonProperty("IMAGE_ID")
    @ApiModelProperty(name = "IMAGE_ID",value = "影像id",example = "465656262626")
    @NotBlank(message = "影像id不能为空")
    private String imageId;


    @JsonProperty("TELLER_POST")
    @ApiModelProperty(name = "TELLER_POST",value = "发起标志",example = "201")
    @NotBlank(message = "发起标志不能为空")
    private String tellerPost;


    @JsonProperty("TRAN_DATE")
    @ApiModelProperty(name = "TRAN_DATE",value = "发起时间:年月日",example = "20210921")
    @NotBlank(message = "发起时间年月日不能为空")
    private String tranDate;

    @JsonProperty("TRAN_TIMESTAMP")
    @ApiModelProperty(name = "TRAN_TIMESTAMP",value = "发起时间:时分秒",example = "132558")
    @NotBlank(message = "发起时间时分秒不能为空")
    private String tranTimeStamp;

    @JsonProperty("TELLER_CODE")
    @ApiModelProperty(name = "TELLER_CODE",value = "柜员号",example = "015252")
    @NotBlank(message = "柜员号不能为空")
    private String tellerCode;

    @JsonProperty("TELLER_NAME")
    @ApiModelProperty(name = "TELLER_NAME",value = "柜员名字",example = "张三")
    @NotBlank(message = "柜员名字不能为空")
    private String tellerName;

    @JsonProperty("BUSINESS_TYPE")
    @ApiModelProperty(name = "BUSINESS_TYPE",value = "业务类型",example = "1")
    @NotBlank(message = "业务类型不能为空")
    private String businessType;

    @JsonProperty("CHANNEL_ID")
    @ApiModelProperty(name = "CHANNEL_ID",value = "渠道标志",example = "32001")
    @NotBlank(message = "渠道标志不能为空")
    private String channelId;

    @ApiModelProperty(name = "centerNo",value = "作业中心",example = "312555")
    private String centerNo;
}
